﻿//Copyright (C) <2013>  <jonathan cleeve norton> All Rights Reserved 
//Contact jon.norton@fin-plus.co.uk website <http://www.fin-plus.co.uk/>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlServerCe;
using System.Data.SqlClient;
using System.Net;
using Messaging2;
using Logger;
using FinPlusCommon;

namespace FinPlusDBConn
{
    public interface IFinPlusDBConn
    {
        event EventHandler QueryUpdate;

        IFinPlusQuery Query(QueryType queryType, string group, DateTime date, string where, ConType conType = ConType.None, string displayFields = "", string displayOrder = "");

        string Save(IFinPlusFunction func);

        string Close(IFinPlusFunction func);

        IFinPlusQuery SaveFunc(string group, string where, ConType conType = ConType.None, string displayFields = "", string displayOrder = "");

        IFinPlusQuery Select(string group, string where, ConType conType = ConType.None, string displayFields = "", string displayOrder = "");

        IFinPlusQuery SelectAsOf(string group, DateTime asOf, string where, ConType conType = ConType.None, string displayFields = "", string displayOrder = "");

        IFinPlusQuery SelectFrom(string group, DateTime from, string where, ConType conType = ConType.None, string displayFields = "", string displayOrder = "");

        IFinPlusQuery SelectFuncById(string group, int Id);

        void Dispose();

        void DisposeQuery(IFinPlusQuery finPlusQuery);
    }
}
